home *** CD-ROM | disk | FTP | other *** search
/ 1st Multimedia Mac Shareware / Multimedia Shareware CD-ROM - BetaCorp.iso / DAs⁄AppleMenu / BWI folder / BWInstant.asm < prev    next >
Encoding:
Assembly Source File  |  1992-05-22  |  1.2 KB  |  57 lines  |  [TEXT/ASM ]

  1. ; This file is:  BWInstant.asm  3/22/92
  2.  
  3.     .TRAP    _GetPort        $A874
  4.     .TRAP    _SetPort        $A873
  5.     .TRAP    _GetGDevice        $AA32
  6.     .TRAP    _PaletteDispatch    $AAA2
  7.     .TRAP    _SysBeep        $A9C8
  8.  
  9.     pixMap        EQU    22
  10.     pixSize        EQU    32
  11.     setDepthSelect    EQU    $0A13
  12.  
  13. RESOURCE 'FKEY'    8  'BWInstant' 32    ; purgable
  14.  
  15. Start:    CLR.L    -(A7)
  16.     PEA    (A7)
  17.     _GetPort
  18.     CLR.L    -(A7)
  19.     _GetGDevice        ; get the grafic device handle
  20.     BEQ.S    gder
  21.  
  22.     MOVE.L    (A7)+,A1    ; A1 has gdHandle
  23.     MOVE.L    (A1),A0        ; A0 has gdPointer
  24.     MOVE.L    pixMap(A0),A0    ; A0 has pixMap handle
  25.     MOVE.L    (A0),A0        ; A0 has pixMap pointer
  26.     MOVE.W    pixSize(A0),D1    ; D1 has pixSize data
  27.  
  28.     CMPI    #1,D1        ; if pixSize = 1
  29.     BNE.S    not1
  30.     MOVE    #8,D1        ; then new pixSize = 8
  31.     BRA.S    setDepth
  32.  
  33. not1:    CMPI    #8,D1        ; if pixSize = 8
  34.     BNE.S    wmer        ; else Alert to wrong mode
  35.     MOVE    #1,D1        ; then new pixSize = 1
  36.     BRA.S    setDepth
  37.  
  38. setDepth:
  39.     CLR    -(A7)        ; room for error code
  40.     MOVE.L    A1,-(A7)    ; gdHandle
  41.     MOVE.W    D1,-(A7)    ; new pixSize
  42.     MOVE.W    #1,-(A7)    ; which flag = 1
  43.     MOVE.W    #1,-(A7)    ; hasColor
  44.     MOVE.W    #setDepthSelect,D0
  45.     _PaletteDispatch    ; setDepth
  46.     TST    (A7)+        ; check for error
  47.     beq.s    noer
  48.   wmer:    MOVE    #6,-(A7)
  49.     _Sysbeep        ; beep
  50.   noer:    _SetPort
  51.     RTS
  52.  
  53.   gder:    ADDQ    #4,A7        ; drop null handle
  54.     bra.s    wmer
  55.  
  56. END
  57.